home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / a_utils / _archvrs / unix / shar.lha / shar / shell.c < prev    next >
C/C++ Source or Header  |  1987-12-03  |  767b  |  41 lines

  1. /*
  2. **  Stand-alone driver for shell.
  3. */
  4. #include "shar.h"
  5. RCS("$Header: shell.c,v 1.4 87/03/24 16:19:56 rs Exp $")
  6.  
  7.  
  8. extern void     SetVar();
  9.  
  10.  
  11. main(ac, av)
  12.     register int     ac;
  13.     register char    *av[];
  14. {
  15.     char        *vec[MAX_WORDS];
  16.     char         buff[MAX_VAR_VALUE];
  17.  
  18.     if (Interactive = ac == 1) {
  19.     fprintf(stderr, "Testing shell interpreter...\n");
  20.     Input = stdin;
  21.     File = "stdin";
  22.     }
  23.     else {
  24.     if ((Input = fopen(File = av[1], "r")) == NULL)
  25.         SynErr("UNREADABLE INPUT");
  26.     /* Build the positional parameters. */
  27.     for (ac = 1; av[ac]; ac++) {
  28.         (void)sprintf(buff, "%d", ac - 1);
  29.         SetVar(buff, av[ac]);
  30.     }
  31.     }
  32.  
  33.     /* Read, parse, and execute. */
  34.     while (GetLine(TRUE))
  35.     if (Argify(vec))
  36.         (void)Exec(vec);
  37.  
  38.     /* That's it. */
  39.     exit(0);
  40. }
  41.